package com.nageoffer.jobtrain.judge.common.enums;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public enum ExecuteJudeCodeEnums {
    /**
     * 判题执行中
     */
    RUNNING(1, "运行中"),

    /**
     * 判题执行成功
     */
    SUCCEED(2, "运行成功"),

    /**
     * 判题执行失败
     */
    FAILED(3, "运行失败"),

    /**
     * 未通过所有测试用例
     */
    NOT_ALL_PASSED(4, "未通过所有用例"),

    /**
     * 未知错误异常
     */
    UNKNOWN_FAILED(5, "未知异常，请您稍后重试"),

    /**
     * 编译失败
     */
    COMPILE_FAILED(6, "编译失败"),

    /**
     * 结果正确，超过空间限制
     */
    OUT_OF_MEMORY(7, "运行结果正确，但是超出空间限制"),

    /**
     * 结果正确，超过时间限制
     */
    OUT_OF_TIME(8, "运行结果正确，但是超出时间限制"),

    /**
     * 超出时间限制
     */
    EXECUTION_TIMEOUT(9, "超出时间限制");

    /**
     * 执行结果类型
     */
    @Getter
    private final int type;

    /**
     * 执行结果描述
     */
    @Getter
    private final String describe;
}